﻿using System.Threading.Tasks;
using TabbedTemplate.Models;

namespace TabbedTemplate.Services
{
    /// <summary>
    /// 同步服务。
    /// </summary>
    public interface ISyncService : INotifyStatusChanged
    {
        /// <summary>
        /// 同步。
        /// </summary>
        Task<ServiceResult> SyncAsync();
        Task<ServiceResult> PunchInfoSyncAsync();

        /// <summary>
        /// 远程收藏存储。
        /// </summary>
        IRemoteFavoriteStorage RemoteFavoriteStorage { get; }

        IRemotePunchInfoStorage RemotePunchInfoStorage { get; }
    }
}
